package com.sokal.easycare.modules.kpoint.entity.after;

import java.util.List;

import org.hibernate.validator.constraints.Length;
import com.sokal.easycare.modules.sys.entity.Area;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.collect.Lists;
import com.sokal.easycare.common.persistence.DataEntity;

/**
 * 维修保养点Entity
 * @author lihaipei
 * @version 2017-05-17
 */
public class KPointAftermarket extends DataEntity<KPointAftermarket> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// 售后点名称
	private Area sysAreaId;		// 地理位置
	private String houseNumber;		// 门牌号
	private String fullAddress;		// 详细地址
	private String postcode;		// 邮政编码
	private String latitude;		// 纬度
	private String longitude;		// 经度
	private String coordinatePoint;		// 坐标点
	private String contact;		// 联系人
	private String landlinePhone;		// 固定电话
	private String mobilePhone;		// 移动电话
	private String businessHours;		// 营业时间
	private String trafficInfo;		// 交通信息
	private String imageUrl;		// 封面效果图路径
	private List<String> areaIds = Lists.newArrayList(); //封装地域id集合
	
	public KPointAftermarket() {
		super();
	}

	public KPointAftermarket(String id){
		super(id);
	}

	@Length(min=0, max=100, message="售后点名称长度必须介于 0 和 100 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public Area getSysAreaId() {
		return sysAreaId;
	}

	public void setSysAreaId(Area sysAreaId) {
		this.sysAreaId = sysAreaId;
	}
	
	@Length(min=0, max=20, message="门牌号长度必须介于 0 和 20 之间")
	public String getHouseNumber() {
		return houseNumber;
	}

	public void setHouseNumber(String houseNumber) {
		this.houseNumber = houseNumber;
	}
	
	@Length(min=0, max=255, message="详细地址长度必须介于 0 和 255 之间")
	public String getFullAddress() {
		return fullAddress;
	}

	public void setFullAddress(String fullAddress) {
		this.fullAddress = fullAddress;
	}
	
	@Length(min=0, max=20, message="邮政编码长度必须介于 0 和 20 之间")
	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}
	
	public String getLatitude() {
		return latitude;
	}

	public void setLatitude(String latitude) {
		this.latitude = latitude;
	}
	
	public String getLongitude() {
		return longitude;
	}

	public void setLongitude(String longitude) {
		this.longitude = longitude;
	}
	
	@Length(min=0, max=100, message="坐标点长度必须介于 0 和 100 之间")
	public String getCoordinatePoint() {
		return coordinatePoint;
	}

	public void setCoordinatePoint(String coordinatePoint) {
		this.coordinatePoint = coordinatePoint;
	}
	
	@Length(min=0, max=100, message="联系人长度必须介于 0 和 100 之间")
	public String getContact() {
		return contact;
	}

	public void setContact(String contact) {
		this.contact = contact;
	}
	
	@Length(min=0, max=30, message="固定电话长度必须介于 0 和 30 之间")
	public String getLandlinePhone() {
		return landlinePhone;
	}

	public void setLandlinePhone(String landlinePhone) {
		this.landlinePhone = landlinePhone;
	}
	
	@Length(min=0, max=20, message="移动电话长度必须介于 0 和 20 之间")
	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}
	
	@Length(min=0, max=20, message="营业时间长度必须介于 0 和 20 之间")
	public String getBusinessHours() {
		return businessHours;
	}

	public void setBusinessHours(String businessHours) {
		this.businessHours = businessHours;
	}
	
	@Length(min=0, max=255, message="交通信息长度必须介于 0 和 255 之间")
	public String getTrafficInfo() {
		return trafficInfo;
	}

	public void setTrafficInfo(String trafficInfo) {
		this.trafficInfo = trafficInfo;
	}
	
	@Length(min=0, max=255, message="封面效果图路径长度必须介于 0 和 255 之间")
	public String getImageUrl() {
		return imageUrl;
	}

	public void setImageUrl(String imageUrl) {
		this.imageUrl = imageUrl;
	}

	@JsonIgnore
	public List<String> getAreaIds() {
		return areaIds;
	}

	public void setAreaIds(List<String> areaIds) {
		this.areaIds = areaIds;
	}
	
}